package cn.daniellee.plugin.pm.model;

import org.bukkit.Location;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Mission {

	public List<Location> excavated;

	private String inviter;

	private String invitee;

	private int progress = 0;

	private int fellingIndex;

	private int fellingCurrent = 0;

	private int miningIndex;

	private int miningCurrent = 0;

	private int killMonsterIndex;

	private int killMonsterCurrent = 0;

	private int killAnimalIndex;

	private int killAnimalCurrent = 0;

	private int gatherCropIndex;

	private int gatherCropCurrent = 0;

	private int rewardIndex;

	private boolean inviterReward = false;

	private boolean inviteeReward = false;

	private long validUntil;

	public Mission(String inviter, String invitee, int fellingIndex, int miningIndex, int killMonsterIndex, int killAnimalIndex, int gatherCropIndex, int rewardIndex, long validUntil) {
		this.excavated = Collections.synchronizedList(new ArrayList<>());
		this.inviter = inviter;
		this.invitee = invitee;
		this.fellingIndex = fellingIndex;
		this.miningIndex = miningIndex;
		this.killMonsterIndex = killMonsterIndex;
		this.killAnimalIndex = killAnimalIndex;
		this.gatherCropIndex = gatherCropIndex;
		this.rewardIndex = rewardIndex;
		this.validUntil = validUntil;
	}

	public String getInviter() {
		return inviter;
	}

	public void setInviter(String inviter) {
		this.inviter = inviter;
	}

	public String getInvitee() {
		return invitee;
	}

	public void setInvitee(String invitee) {
		this.invitee = invitee;
	}

	public int getProgress() {
		return progress;
	}

	public void setProgress(int progress) {
		this.progress = progress;
	}

	public int getFellingIndex() {
		return fellingIndex;
	}

	public void setFellingIndex(int fellingIndex) {
		this.fellingIndex = fellingIndex;
	}

	public int getFellingCurrent() {
		return fellingCurrent;
	}

	public void setFellingCurrent(int fellingCurrent) {
		this.fellingCurrent = fellingCurrent;
	}

	public int getMiningIndex() {
		return miningIndex;
	}

	public void setMiningIndex(int miningIndex) {
		this.miningIndex = miningIndex;
	}

	public int getMiningCurrent() {
		return miningCurrent;
	}

	public void setMiningCurrent(int miningCurrent) {
		this.miningCurrent = miningCurrent;
	}

	public int getKillMonsterIndex() {
		return killMonsterIndex;
	}

	public void setKillMonsterIndex(int killMonsterIndex) {
		this.killMonsterIndex = killMonsterIndex;
	}

	public int getKillMonsterCurrent() {
		return killMonsterCurrent;
	}

	public void setKillMonsterCurrent(int killMonsterCurrent) {
		this.killMonsterCurrent = killMonsterCurrent;
	}

	public int getKillAnimalIndex() {
		return killAnimalIndex;
	}

	public void setKillAnimalIndex(int killAnimalIndex) {
		this.killAnimalIndex = killAnimalIndex;
	}

	public int getKillAnimalCurrent() {
		return killAnimalCurrent;
	}

	public void setKillAnimalCurrent(int killAnimalCurrent) {
		this.killAnimalCurrent = killAnimalCurrent;
	}

	public int getGatherCropIndex() {
		return gatherCropIndex;
	}

	public void setGatherCropIndex(int gatherCropIndex) {
		this.gatherCropIndex = gatherCropIndex;
	}

	public int getGatherCropCurrent() {
		return gatherCropCurrent;
	}

	public void setGatherCropCurrent(int gatherCropCurrent) {
		this.gatherCropCurrent = gatherCropCurrent;
	}

	public int getRewardIndex() {
		return rewardIndex;
	}

	public void setRewardIndex(int rewardIndex) {
		this.rewardIndex = rewardIndex;
	}

	public boolean isInviterReward() {
		return inviterReward;
	}

	public void setInviterReward(boolean inviterReward) {
		this.inviterReward = inviterReward;
	}

	public boolean isInviteeReward() {
		return inviteeReward;
	}

	public void setInviteeReward(boolean inviteeReward) {
		this.inviteeReward = inviteeReward;
	}

	public long getValidUntil() {
		return validUntil;
	}

	public void setValidUntil(long validUntil) {
		this.validUntil = validUntil;
	}
}
